// 数组排大小
function quicksort(arr) {
  //基本情况:如果数组长度小于或等于 1，则直接返回该数组
  debugger;
  if (arr.length <= 1) {
    return arr;
  }
// 把数组的第一个元素赋值给临时变量 pivot
const pivot = arr[0];
/* 初始化了left,right变量 */
const left = []; // 存放比基准值小的元亲
const right = []; //存放比基准值大的元素
// 遍历数组，从第二个元素开始
for (let i = 1; i < arr.length; i++) {
  if (arr[i] < pivot) {
    left.push(arr[i]); // 小于基准值的放入左边
  } else {
    right.push(arr[i]);
  }
  // 大于或等于基准值的放入右边
  //递归地对左边和右边进行排序，并合并结果
}
return [...quicksort(left), pivot, ...quicksort(right)];
}
// 示例用法
const arr = [1, 10, 5, 11, 9];
const sortedArr = quicksort(arr);
console.log(sortedArr); //输出:[2，3，4，5，8]
